package scenic.study.thinkinjava.exception;//: c10:LostMessage.java
// From 'Thinking in Java, 2nd ed.' by Bruce Eckel
// www.BruceEckel.com. See copyright notice in CopyRight.txt.
// How an exception can be lost.

class VeryImportantException extends Exception {
    public String toString() {
        return "A very important exception!";
    }
}

class HoHumException extends Exception {
    public String toString() {
        return "A trivial exception";
    }
}

public class LostMessage {
    void f() throws VeryImportantException {
        throw new VeryImportantException();
    }

    void dispose() throws HoHumException {
        throw new HoHumException();
    }

    public static void main(String[] args)
            throws Exception {


        int flag = 1;
        switch (flag)

        {
            case 0: {
                LostMessage lm = new LostMessage();
                try {
                    lm.f();
                } finally {
                    lm.dispose();
                }
            }
            break;

            case 1: {
                LostMessage lm = new LostMessage();
                try {
                    lm.f();
                }catch (Exception e) {
                    e.printStackTrace();
                }finally {
                    lm.dispose();
                }


            }
            break;
        }


    }
} ///:~